package pruebas;


import negModel.*;
import junit.framework.TestCase;

public class ListaJugadoresTest extends TestCase {

	
	ListaJugadores listaJugadores;
	ListaPartes l1;
	
	PersonajeJugador jug;
	
	Aleron aleron1;
	Carroceria carroc1;
	Combustible comb1;
	Tanque tanque1;
	ControladorDeCombustible cont1;
	Escape esc1;
	Llanta llan1;
	Neumatico neum1; 
	Rueda rue1; 
	Motor motor1;
	Transmision trans1; 
	Parte p;
	Auto auto1;
	
	protected void setUp() throws Exception {
		super.setUp();
		listaJugadores = new ListaJugadores();
		l1 = new ListaPartes();
		
		aleron1 = new Aleron(1000,15,5,new String("Aleron tipo 1"),new AlgoPesos(100),true,5,4,8,10);
		carroc1 = new Carroceria (1000,500,3,new String("Carroceria pesada"),new AlgoPesos(1000),true,5,1,10,10,80,100);
		comb1 = new Combustible(88,1);
		tanque1 = new Tanque(1000,50,new String ("Tanque capacidad 1"),new AlgoPesos(100),true,100,1000,comb1);
		tanque1.cargarComb();
		cont1 = new ControladorDeCombustible (1000,50,10,new String("Sistema de Inyeccion 1 - porcentaje 70%"),new AlgoPesos(100),true,10,7);
		esc1 = new Escape(1000,20,70,new String("Escape 1 - eliminacion 70%"),new AlgoPesos(100),true,100,7);
		llan1 = new Llanta (1000,25,165,new String ("Llanta pesada"),new AlgoPesos(100),false,10,0.05);
		neum1 = new Neumatico(1000,20,150,new String ("Neumatico leve adhesion"),new AlgoPesos(100),false,10,100,10,3);
		rue1 = new Rueda(llan1,neum1,new String ("Rueda con "+ neum1.getDetalle()+" y "+ llan1.getDetalle()),false);
		trans1 = new Transmision(1000,50,50,new String("Transmision tipo 1 - cambios 5 - Manual"),new AlgoPesos(1000),false,50,5,true);
		motor1 = new Motor(1000,140,200,new String("Motor Citroen 1000 cc"),new AlgoPesos(1000),false,100,1000);
		
		l1.add(aleron1);
		l1.add(carroc1);
		l1.add(tanque1);
		l1.add(cont1);
		l1.add(esc1);
		l1.add(rue1);
		l1.add(trans1);
		l1.add(motor1); auto1 = new Auto(l1,"Citroen C4 GTI");
		
		jug = new PersonajeJugador("Bruce Willis",3000,auto1);
		listaJugadores.add(jug);
		
	}

	public void testGuardar() throws Exception {
		ListaJugadores.guardar("ListaJugadores.xml", listaJugadores);
	}

	public void testCargar() throws Exception {
		ListaJugadores ljAux = ListaJugadores.cargar("ListaJugadores.xml");
		PersonajeJugador jugAux = (PersonajeJugador)ljAux.get(0);
		assertEquals(jugAux.getDinero(),jug.getDinero());
		assertEquals(jugAux.getNombre(),jug.getNombre());
		assertEquals(((Auto)jugAux.getVehiculo()).getTipo(),((Auto)jug.getVehiculo()).getTipo());
		
	}

}
